package com.gwcloud.leetcode.offers;

/** 
* @ClassName   : Leetcode0430 
* @author      : ganwei 
* @date        : 2020年6月5日 
* @Description : TODO 
*/
public class Leetcode0430 {
    /**
     * -解题思路,
     */
	public int countDigitOne(int n) {
		int digit = 1, res = 0;
		int high = n / 10, cur = n % 10, low = 0;
		while(high != 0 || cur != 0){
			if(cur == 0){
				res += high * digit;
			}else if(cur == 1){
				res += high * digit + low + 1;
			}else{
				res += (high + 1) * digit;
			}
			
			low += cur * digit;
			cur = high % 10;
			high /= 10;
			digit *= 10;
		}
		return res;
    }
    
    /**
     * -主函数
     */
    public static void main(String[] args) {
    	
    }
}
